#ifndef __GEOMETRY_H__
#define __GEOMETRY_H__

#include "stdafx.h"
#include "vec3.h"
#include "VBO.h"

void	DrawAxes		(float size);

/* 3D Solids */
void	DrawCube		(float size);
void	DrawCuboid		(vec3 LeftTopFront, vec3 RightBottomBack);
void	DrawSphere		(float radius, float slices, float stacks, VBO *vbo);
void	DrawHemisphere	(float radius, float slices = 20, float stacks = 20);
void	DrawCylinder	(float outer_radius, float inner_radius, float height, float slices = 20);

void	DrawCuboidSmooth	(vec3 LeftTopFront, vec3 RightBottomBack, int SmoothFactor);

void	DrawWallsSmooth		(vec3 LeftTopFront, vec3 RightBottomBack, int SmoothFactor, VBO *vbo);
void	DrawFloorSmooth		(vec3 LeftTopFront, vec3 RightBottomBack, int SmoothFactor, VBO *vbo);
void	DrawCeilSmooth		(vec3 LeftTopFront, vec3 RightBottomBack, int SmoothFactor);

#endif